package com.engine4cloud.tdf.supervision.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.engine4cloud.tdf.common.data.web.response.PageInfo;
import com.engine4cloud.tdf.common.data.web.response.Params;
import com.engine4cloud.tdf.supervision.dto.create.SpPrisonExecuteCreateDTO;
import com.engine4cloud.tdf.supervision.dto.query.SpPrisonExecuteQueryDTO;
import com.engine4cloud.tdf.supervision.dto.result.SpPrisonExecuteResultDTO;
import com.engine4cloud.tdf.supervision.dto.update.SpNormalPreActionUpdateDTO;
import com.engine4cloud.tdf.supervision.dto.update.SpPrisonExecuteUpdateDTO;
import com.engine4cloud.tdf.supervision.entity.SpPrisonExecuteEntity;

public interface SpPrisonExecuteService extends IService<SpPrisonExecuteEntity> {

    PageInfo<SpPrisonExecuteResultDTO> getPageList(Params page, SpPrisonExecuteQueryDTO dto);

    SpPrisonExecuteResultDTO getById(Long id);

    /**
     * 根据流程编号查询
     *
     * @param batch 流程编号
     * @return SpPrisonExecuteResultDTO
     */
    SpPrisonExecuteResultDTO getByBatch(String batch);

    Boolean create(SpPrisonExecuteCreateDTO dto);

    Boolean update(SpPrisonExecuteUpdateDTO dto);

    void changeAction(SpNormalPreActionUpdateDTO dto);
}